package org.batatasframework.support.database.sql.spi;

import org.batatasframework.support.database.sql.TableInstance;
import org.batatasframework.support.database.sql.field.ArraySelectFragment;
import org.batatasframework.support.database.sql.field.ConcatSelectFragment;
import org.batatasframework.support.database.sql.field.DefaultSelectFragment;
import org.batatasframework.support.database.sql.field.FormatSelectFragment;

public interface SelectFragmentCriterion {
	
	DefaultSelectFragment[] field(TableInstance tableInstance, String... names) throws Exception;
//	StandradSelectFragment field(JoinTableRuntime join, String name) throws Exception;
//	StandradSelectFragment[] field(String... names) throws Exception;
//	StandradSelectFragment field(String name) throws Exception;
	
//	ConcatSelectFragment concat(String title, String... names) throws Exception;
	ConcatSelectFragment concat(String title/*, TableInstance tableInstance, String... names*/) throws Exception;
	
//	ArraySelectFragment array(String title, String... names) throws Exception;
	ArraySelectFragment array(String title/*, TableInstance tableInstance, String... names*/) throws Exception;
	
//	FormatSelectFragment format(String title, String formatString, String... names) throws Exception;
	FormatSelectFragment format(String title, /*TableInstance tableInstance, */String formatString/*, String... names*/) throws Exception;
}
